#include <stdlib.h>
struct TreeNode
{
	int data;
	TreeNode *left;
	TreeNode *right;
	TreeNode(int value):data(value),left(0),right(0)
	{
		
	}
};

typedef void(*visit)(TreeNode* p);

void preOrder(TreeNode *root, visit func );

void midOrder(TreeNode* root, visit func);

void lastOrder(TreeNode* root, visit func);

void createTree(TreeNode* &root, int data);

